همانطور که فایل functions.php را به عنوان مهمترین فایل در پوسته های وردپرس می شناسید ، باید فایل wp-config.php را نیز مهمترین فایل در یک وردپرس نصب شده حساب کنید .
توسط فایل wp-config.php امکان پیکربندی قابلیت های بانک اطلاعاتی ، افزایش عملکرد و یا بهبود امنیت تمام وب سایت ها و وبلاگ های وردپرسی ، وجود دارد .
در این مقاله آموزشی وردپرس ، نکات و گزینه های کاربردی در فایل wp-config.php را به شما نشان می دهیم .
به صورت پیش فرض ، در هنگام نصب وردپرس فایل wp-config.php وجود ندارد و وردپرس بدون آن در اختیار کاربران قرار می گیرد .
این در حالی است که یک فایل به نام wp-config-sample.php در بسته نصبی وردپرس وجود دارد . شما باید از این فایل به عنوان نمونه ، برای ایجاد کردن فایل اصلی wp-config.php استفاده کنید تا آماده اجرای فرآیند نصب وردپرس شوید .
بیشتر کاربران این مرحله را انجام نمی دهند ، زیرا این کار به صورت اتوماتیک در هنگام برپاسازی وردپرس ، انجام می شود .
در مراحل نصب شما تنظیمات کلیدی وردپرس مانند انتخاب نام بانک اطلاعاتی و … را انجام می دهید .
بعد از بارگذاری یا آپلود وردپرس در هاست خود و اجرای سایت خود در مرورگر با صفحه ای مانند تصویر زیر مواجه می شوید .

با زدن دکمه ” بزن بریم ! ” به مرحله بعد که مانند تصویر زیر است منتقل می شوید :

در مرحله نشان داده شده در تصویر بالا ، شما یکسری اطلاعات کلیدی که برای اتصال هسته وردپرس با بانک اطلاعاتی وردپرس الزامی هستند را مشخص می کنید . این اطلاعات شامل نام بانک اطلاعاتی ، نام کاربری که مجاز به انجام انواع عملیات ها روی بانک اطلاعاتی است ، رمز عبور کاربر ، میزبان پایگاه داده که معمولاً localhost است و در آخر پیشوند نام جداول وردپرس میباشند .
بخشی از اطلاعات وارد شده توسط شما در مرحله بالا ، در فایل wp-config.php و به شکل زیر ذخیره می شوند .
|
|
define('DB_NAME', 'database-name');
define('DB_USER', 'database-useame');
define('DB_PASSWORD', 'database-password');
define('DB_HOST', 'localhost');
|
به صورت پیش فرض بخش میزبان پایگاه داده localhost می باشد ولی در برخی هاستینگ ها ، این مورد متفاوت است .
به عنوان مثال در هاستینگ های زیر آدرس میزبان پایگاه داده localhost نیست .
- ۱and1 Hosting — db12345678
- DreamHost — mysql.example.com
- GoDaddy — h41mysql52.secureserver.net
- ICDSoft — localhost:/tmp/mysql5.sock
- MediaTemple (GS) — inteal-db.s44441.gridserver.com
- Pair Networks — dbnx.pair.com
- Yahoo — mysql
شما می توانید با قرار دادن تکه کد زیر در فایل wp-config.php وردپرس خود سرور بانک اطلاعاتی یا همان میزبان پایگاه داده را مشاهده کنید .
|
|
define('DB_HOST', $_ENV{DATABASE_SERVER});
|
کلیدهای امنیتی وردپرس یکسری از متغیرهای تصادفی هستند که فرآیند رمزگذاری اطلاعات ذخیره شده در کوکی های کاربران را ، بهبود می بخشند .
در نسخه های قبل از نسخه ۳.۰ وردپرس شما مجبور بودید که این کار را به صورت دستی در فایل wp-config.php انجام دهید . این در حالیست که در نسخه های ۳.۰ به بعد وردپرس ، در هنگام نصب وردپرس ، این کلیدهای امنیتی به صورت اتوماتیک در فایل wp-config.php ایجاد می شوند .
همچنین در نسخه های قبل از ۳.۰ وردپرس ، از ۴ کلید امنیتی استفاده می شد ، که در نسخه های بعد از ۳.۰ وردپرس ، تعداد این کلیدهای امنیتی به ۸ عدد تغییر کرده است .
بخش کلیدهای امنیتی در فایل wp-config.php به صورت زیر است . (قبل از ایجاد کلیدهای امنیتی توسط وردپرس)
|
|
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');
|
اگر می خواهید کلیدهای امنیتی را به فایل wp-config.php یک وردپرس اضافه کنید ، می توانید با رفتن به این صفحه ، یکسری از این کلیدها را دریافت کنید .
در هنگام نصب وردپرس بوسیله ویزارد آن ، یکی از گزینه هایی که شما می توانید آن را تنظیم کنید ، پیشوند بانک اطلاعاتی وردپرس است . این گزینه در فایل wp-config.php و به صورت زیر ذخیره می شود :
ما به شما پیشنهاد می کنیم که پیشوند بانک اطلاعاتی وردپرس را از wp_ به یک پیشوند دیگر مانند enter64_ تغییر دهید .
به صورت پیش فرض وردپرس برای زبان انگلیسی خود را محلی سازی می کند ، اما شما می توانید توسط دستورات زیر در فایل wp-config.php سایت وردپرس خود آنها را تغییر دهید .
|
|
define('WPLANG', '');
define('LANGDIR', '');
|
یک فایل زبان که دارای پسوند po می باشد ، باید در مسیر wp-content/languages و یا wp-includes/languages قرار بگیرد .
ویژگی اشکالزدایی یا Debugging وردپرس یک ابزار کاربردی برای پیدا کردن خطاها ، نمایش توابع منسوخ شده و یا مشکلاتی مانند صفحه سفید وردپرس است . این ابزار بیشتر توسط توسعه دهندگان وردپرس مورد استفاده قرار میگیرد .
به صورت پیش فرض این ویژگی خاموش است (false) و شما باید آن را بوسیله دستور زیر فعال کنید (true).
|
|
define(‘WP_DEBUG’, false); // disable debugging mode by default
define(‘WP_DEBUG’, true); // enable debugging mode
|
در تنظیمات وردپرس ، شما آدرس های وردپرس و آدرس سایت را مشخص می کنید .این تنظیمات در بانک اطلاعاتی وردپرس ذخیره می شوند .
هر زمانی که توسعه دهندگان بوسیله کدها در تمپلیت ها ، این آدرس ها را فراخوانی می کنند ، یک پرس و جو در بانک اطلاعاتی انجام می شود .
این تنظیمات در وردپرس ۲.۲ اضافه شدند .
|
|
define('WP_HOME', 'http://www.wpbegier.com');
define('WP_SITEURL', 'http://www.wpbegier.com');
|
بوسیله اضافه کردن این دستورات در فایل wp-config.php ، شما تعداد پرس و جوها را از بانک اطلاعاتی وردپرس را کاهش می دهید و این مورد باعث بالا رفتن کارایی سایت شما می شود .
شما می توانید مجوزهای فایل های هاست خود را لغو و مجوزهای دلخواه خود را بر روی وردپرس اعمال کنید . اینکار با استفاده از کد زیر در فایل wp-config.php امکانپذیر است .
|
|
define('FS_CHMOD_FILE', 0755);
define('FS_CHMOD_DIR', 0644);
|
در نسخه ها اخیر وردپرس یک ویژگی عالی به نام بازبینی به آن اضافه شده است .
بوسیله این ویژگی به صورت اتوماتیک یک ذخیره خودکار به صورت مرتب از نوشته ای که در حال ویرایش آن هستید ، انجام می شود . این ذخیره های خودکار برای مواقعی مانند هنگ کردن سیستم ، کرش کردن مرورگر و … کاربرد دارند .
همچنین نویسندگان می توانند به یک نسخه دلخواه از بین نوشته های ذخیره شده اتوماتیک قبلی منتقل شوند .
در حالیکه این ویژگی برای بسیاری از کاربران مفید و جذاب است ، برای برخی دیگر عذاب آور است .
البته جای نگرانی نیست ، زیرا برای این ویژگی پیکربندی هایی وجود دارد که می توانید آن را بر طبق سلیقه خود تنظیم کنید .
به صورت پیش فرض وردپرس هر نوشته را با فاصله زمانی ۶۰ ثانیه یکبار به صورت اتوماتیک ذخیره می کند . اما اگر شما فکر می کنید این زمان برای ذخیره خودکار نوشته ها کم است می توانید آن را به آسانی و از طریق پیکربندی زیر تنظیم کنید :
|
|
define('AUTOSAVE_INTERVAL', 120); // in seconds
|
بسته به اینکه ویرایش هر نوشته چقدر زمان لازم دارد ، ممکن است برای یک نوشته ۱۰ نسخه ، ۲۰ نسخه و یا بیش از ۱۰۰ نسخه ذخیره خودکار ایجاد شود .
شما می توانید تعداد ذخیره های خودکار نوشته ها در وردپرس را با استفاده از تنظیم زیر مشخص کنید .
|
|
define('WP_POST_REVISIONS', 5);
|
مثلاً در کد بالا حداکثر ۵ ذخیره خودکار به ازای هر نوشته در وردپرس ایجاد می شود .
شما می توانید از هر عدد صحیحی در این قسمت استفاده کنید .
اگر هیچ کدام از تنظیمات بالا شما را راضی نکرد ، می توانید ویژگی بازبینی نوشته ها در وردپرس را به صورت کلی و توسط دستور زیر غیرفعال کرد :
|
|
define('WP_POST_REVISIONS', false);
|
در وردپرس ۲.۹ ویژگی زباله دان به هسته وردپرس اضافه شد .
این ویژگی دقیقاً مانند زباله دان ویندوز است ، بنابراین به جای حذف دائم یک نوشته ، می توانید آن نوشته را به زباله دان منتقل کنید تا اگر از حذف آن منصرف شدید ، بتوانید آن را برگردانید .
همچنین این ویژگی به کاربرانی که به صورت تصادفی ، با کلیک روی یک نوشته یا دیدگاه و … یک مورد را حذف می کنند ، بسیار مفید است .
قسمت ناخوشایند این ویژگی خوب ، این است که شما باید همیشه آن را خالی کنید .
به صورت پیش فرض زباله دان وردپرس هر ۳۰ روز یکبار خالی می شود . شما می توانید با استفاده از دستور زیر در فایل wp-config.php وردپرس ، تعداد روزهای مورد نظر خود را برای خالی کردن زباله دان را تعییت کنید .
|
|
define('EMPTY_TRASH_DAYS', 7 ); //Integer is the amount of days
|
همچنین اگر این ویژگی را دوست ندارید ، می توانید به صورت کلی آن را با استفاده از دستور زیر غیرفعال کنید :
|
|
define('EMPTY_TRASH_DAYS', 0 );
|
اما به یاد داشته باشید که اگر مقدار این پیکربندی را صفر قرار دهید ، وردپرس در موقع حذف دائم نوشته ها و … ، هیچ سئوالی برای تایید حذف از شما نخواهد پرسید . پس هر کلیک تصادفی ممکن است برای شما هزینه بر باشد .
به صورت پیش فرض وردپرس به شما اجازه بروزرسانی افزونه ها ، پوسته ها و هسته وردپرس را می دهد .
در برخی از هاست ها برای هر گونه عمل آپلود ، بروزرسانی افزونه یا پوسته ، از شما اطلاعات FTP درخواست می شود .
شما می توانید بوسیله کد زیر در فایل wp-config.php این ویژگی را برای همیشه غیرفعال کنید .
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
// forces the filesystem method: "direct", "ssh", "ftpext", or "ftpsockets"
define('FS_METHOD', 'ftpext');
// absolute path to root installation directory
define('FTP_BASE', '/path/to/wordpress/');
// absolute path to "wp-content" directory
define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/');
// absolute path to "wp-plugins" directory
define('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/');
// absolute path to your SSH public key
define('FTP_PUBKEY', '/home/useame/.ssh/id_rsa.pub');
// absolute path to your SSH private key
define('FTP_PRIVKEY', '/home/useame/.ssh/id_rsa');
// either your FTP or SSH useame
define('FTP_USER', 'useame');
// password for FTP_USER useame
define('FTP_PASS', 'password');
// hostname:port combo for your SSH/FTP server
define('FTP_HOST', 'ftp.example.org:21');
|
در وردپرس ۲.۹ یک ویژگی بسیار جالب به وردپرس اضافه شد که بوسیله آن عملیات اتوماتیک بهینه سازی بانک اطلاعاتی وردپرس به صورت منظم انجام می شود .
برای فعال سازی این قابلیت می توانید از کد زیر در فایل wp-config.php استفاده کنید :
|
|
define('WP_ALLOW_REPAIR', true);
|
بعد از فعال سازی این ویژگی می توانید از مسیر زیر به تنظیمات این قابلیت دسترسی داشته باشید .
http://www.yoursite.com/wp-admin/maint/repair.php

زمانی که این ویژگی را در وردپرس خود بوسیله فایل wp-config.php تنظیم می کنید ، برای دسترسی به این قابلیت ، نیاز نیست که کاربر وارد شود .
دلیل این مورد این است که ممکن است بانک اطلاعاتی وردپرس شما صدمه دیده باشد و کاربر نتواند وارد محیط مدیریت خود شود .
نکته مهم :
بعد از انجام عمل بهینه سازی و یا تعمیر بانک اطلاعاتی وردپرس ، حتماً این ویژگی را در فایل wp-config.php حذف و یا غیرفعال (با استفاده از دو کاراکتر // در ابتدای دستور) کنید .
یکی از دلایل اصلی صفحه سفید وردپرس یا صفحه مرگ وردپرس ، به خصوص در هنگام فعال سازی افزونه ها ، پایین بودن مقدار حافظه PHP است .
شما می توانید حافظه PHP را بوسیله دستور زیر در فایل wp-config.php افزایش دهید :
|
|
define('WP_MEMORY_LIMIT', '64M');
|
نکته : این ویژگی ممکن است با برخی از هاست ها کار نکند ، مثلاً هاست های اشتراکی . پس برای انجام این کار در این هاست ها باید با پشتیبان هاست خود تماس بگیرید .
ویژگی گزارش خطای وردپرس ، که بیشتر برای توسعه دهندگان وردپرس مفید است به شما کمک می کند تا تمام خطاهای اتفاق افتاده در وردپرس را در یک فایل مشاهده کنید .
برای ایجاد سیستم ایجاد گزارش خطا در وردپرس ، ابتدا یک فایل به نام php_error.log را در ریشه سایت خود با دسترسی نوشتن ایجاد کنید .
سپس کد زیر را در فایل wp-config.php وردپرس قرار دهید . فراموش نکنید که در خط سوم مسیر را بر طبق وردپرس خود ویرایش کنید .
|
|
@ini_set('log_errors','On');
@ini_set('display_errors','Off');
@ini_set('error_log','/home/path/domain/logs/php_error.log');
<h4>Move your wp-content Directory</h4>
|
از وردپرس نسخه ۲.۶ به بعد ، شما می توانید دایرکتوری یا پوشه wp-content را به یک جای دیگر منتقل کنید .
این مورد برای امنیت سایت بسیار مفید است . برای اینکار کافیست کد زیر را در فایل wp-config.php وردپرس قرار دهید .
|
|
define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content' );
define( 'WP_CONTENT_URL', 'http://example/blog/wp-content');
define( 'WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content/plugins' );
define( 'WP_PLUGIN_URL', 'http://example/blog/wp-content/plugins');
|
برای اینکه افزونه ها نیز بتوانند با تغییر مسیر پوشه wp-content به درستی کار کنند ، خط آخر به کدهای بالا اضافه شده است .
به صورت پیش فرض وردپرس تمام اطلاعات کاربران را در جداول wp_users و wp_usermeta ذخیره می کند .
شما می توانید مسیر ذخیره سازی اطلاعات کاربران وردپرس را در بانک اطلاعاتی بوسیله دستورات زیر در فایل wp-config.php را تغییر دهید .
|
|
define('CUSTOM_USER_TABLE', $table_prefix.'my_users');
define('CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta');
|
از نسخه ۳.۰ به بعد در وردپرس ، قابلیت ایجاد وردپرس شبکه یا وردپرس چند سایته فراهم شد .
برای فعال سازی این قابلیت قدرتمند می توانید کد زیر را به فایل wp-config.php وردپرس خود اضافه کنید .
|
|
define('WP_ALLOW_MULTISITE', true);
|
بعد از اضافه کردن کد بالا به فایل wp-config.php وردپرس ، یک صفحه جدید در بخش مدیریت وردپرس به نام ” شبکه ” که در مسیر منوی ابزارها / شبکه است ، بوجود می آید .
توسط این صفحه می توانید تنظیمات وردپرس چند سایته یا وردپرس شبکه خود را انجام دهید .
همانطور که مشاهده کردید ، فایل wp-config.php یکی از مهمترین فایل های وردپرس است ، پس باید از آن به صورت بسیار امن و محافظت شده ، نگهداری کنیم .
به صورت پیش فرض این فایل در ریشه وردپرس می باشد ، اما شما می توانید آن را به یک مکان دیگر منتقل کنید تا به راحتی توسط هکرها و یا ربات ها ، مسیر آن شناسایی نشود .
وردپرس به صورتی طراحی شده است که اگر فایل wp-config.php را در ریشه سایت مشاهده نکند ، در سایر پوشه به دنبال آن می گردد .
همچنین شما می توانید بوسیله فایل .htaccess از این فایل محافظت کنید و دسترسی به آن را محدود کنید .
برای اینکار کد زیر را به فایل .htaccess اضافه کنید . (بکاپ فراموش نشود)
|
|
# Protect wp-config.php
<Files wp-config.php>
order allow,deny
deny from all
</Files>
|
اگر شما هم نکته یا آموزشی درباره پیکربندی وردپرس و یا فایل wp-config.php می دانید آن را با ما در میان بگذارید .
به خاطر داشته باشید ، که وردپرس شما هیچگاه ۱۰۰% امن نیست و همیشه باید برای امنیت آن تدابیری را اتخاذ کنید .
شاد باشید 


- - , .
برچسب:
نویسنده: محمد رضا جوادیان
تاريخ: دوشنبه
3 اسفند
1394 ساعت: 19:00